package kd100;

import com.fasterxml.jackson.annotation.JsonFormat;

import java.util.Date;
import java.util.List;

/**
 * 快递 100 返回数据对象
 *
 * @author zhou
 */
public class ExpressReturnData {

    /**
     * 消息体
     */
    private String message;

    /**
     * 单号
     */
    private String nu;

    /**
     * 是否签收标记，请忽略，明细状态请参考state字段
     */
    private Integer ischeck;

    /**
     * 快递单明细状态标记，暂未实现，请忽略
     */
    private String condition;

    /**
     * 快递公司编码,一律用小写字母
     */
    private String com;

    /**
     * 通讯状态, 请忽略
     */
    private String status;

    /**
     * 快递单当前状态，
     * 包括0在途，1揽收，2疑难，3签收，4退签，5派件，6退回等7个状态
     */
    private Integer state;

    /**
     * 最新查询结果，数组，包含多项，全量，倒序（即时间最新的在最前）
     */
    private List<ExpressInfo> data;

    // Get / Set

    private class ExpressInfo {
        /**
         * 时间，原始格式
         */
        private String time;

        /**
         * 内容
         */
        private String context;

        /**
         * 格式化后时间
         */
        @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
        private Date ftime;

        /**
         * 这个字段好像文档没给描述, 但是接口返回了
         */
        private String location;

        // Get / Set

    }
}